package day1;

import org.junit.Test;

public class HelloWorld {
	// main
	public static void main(String[] args) {
		// syso
		System.out.println("HelloWorld");
		
		// 年龄 age 23
		// 变量：只要右边这个值是属于int类型这个范围内， 
		// 都可以赋值给age这个变量
		int age = 23;
		// Type mismatch: cannot convert from String to int
		// age = "dd";
		age = 24;
		String name = "张三";
		System.out.println(name + "的年龄是" + age);
		int num = 23;
		double d = 3.14;
		
		byte b1 = 127;
		byte b2 = -128;
		// Type mismatch: cannot convert from int to byte
		// byte b3 = 128;
		
		char ch1 = 'a';
		char ch2 = '中';
		char ch3 = '=';
	}
	
	@Test
	public void test1() {
		// syst: systrace
		System.out.println("HelloWorld.test1()");
	}
	
	@Test
	public void test2() {
		// 在编码表里面a使用97表示
		char ch = 'a';
		System.out.println(ch); // a
		// 97+1=98,从小到大自动类型转换
		System.out.println(ch + 1);// 98
		System.out.println(ch + 2);// 99
		// 从大到小需要强制类型转换, 可能会丢失精度
		System.out.println((char)(ch + 1));// b
		System.out.println((char)(ch + 2));// c
		System.out.println((int)3.14);
	}
	
	// Duplicate method test2() in type HelloWorld
	@Test
	public void test3() {
		int num1 = 3;
		int num2 = 5;
		// The value of the local variable result is not used
		int result = num1 + num2;
		System.out.println(result);
		// 8/2的到商
		System.out.println(8 / 2);// 4
		// 8/2的余数
		System.out.println(8 % 2);// 0(余数是0代表整除)
		System.out.println(8 / 5);// 1
		System.out.println(8 % 5);// 3
	}
	
	@Test
	public void test4() {
		int i = 3;
		i++; // ++i
		System.out.println(i);//4
		// 这里是被println这个方法使用，i++先使用后++
		System.out.println(i++);//4 (i=5)
		// ++放在前面是先++，后使用
		System.out.println(++i);//6
	}
	
	@Test
	public void test5() {
		System.out.println((char)65);
	}
}
